<template>
  <!-- 自定义组件：子组件调用父组件方法 -->
  <div>
    <button @click="$emit('my-click')">通过$emit直接调用父组件方法，无携带参数</button>
    <button @click="emitParent">通过方法间接调用父组件，并且携带参数</button>
  </div>
</template>
<script>
export default {
  /**
   * 在emits中声明所有自定义方法名，如果和原有方法名冲突，则被当做自定义方法执行
   * 如果不声明自定义组件，则在定义了和原有方法名冲突的自定义方法名是，方法会被触发两次
   */
  emits: ["my-click"],
  setup(props, { emit }) {
    const emitParent = () => {
      emit("my-click","来自子组件的参数");
    };
    return {
      emitParent,
    };
  },
};
</script>